/**
 * 判断是否为字符串类型
 *
 * @param str 需要判断的变量
 * @returns {boolean} true：字符串类型；false：非字符串类型
 */
export function isString(str) {
    return !(str === null) && !(str === undefined) && typeof (str) === 'string'
}

/**
 * 判断一个字符串是否为空。
 * 当传入的参数为 null 或 undefined 或 不为字符串 或 字符串的长度小于等于0，则该字符串为空；
 * 否则，字符串不为空
 *
 * @param str 需要进行判断的字符串
 * @returns {boolean} true：空；false：非空
 */
export function stringIsNull(str) {
    return !(isString(str)) || str.length <= 0
}

export const strIsNull = (str) => {
    if (str === undefined || str === null || str === '') return true
    return false
}

/**
 * 获取指定时间戳的格式化字符串形式时间(yyyy-MM-dd HH:mm:ss)
 *
 * @param timeStamp
 */
export function getDatetimeFormatByStamp(timeStamp) {
    let format = 'yyyy-MM-dd HH:mm:ss'
    const date = new Date(timeStamp);
    // 年
    const yyyy = date.getFullYear().toString();
    // 月
    const MM = (date.getMonth() + 1).toString().padStart(2, "0");
    // 日
    const dd = date.getDate().toString().padStart(2, "0");
    // 时
    const HH = date.getHours().toString().padStart(2, "0");
    // 分
    const mm = date.getMinutes().toString().padStart(2, "0");
    // 秒
    const ss = date.getSeconds().toString().padStart(2, "0");
    format = format.replace("yyyy", yyyy);
    format = format.replace("MM", MM);
    format = format.replace("dd", dd);
    format = format.replace("HH", HH);
    format = format.replace("mm", mm);
    format = format.replace("ss", ss);
    return format;
}